<!DOCTYPE html>

<html>
    <head>
        <meta charset="UTF-8">
        <title>this</title>

        <script type="text/javascript">
            // 直接书写在 script 元素中的代码属于全局代码
            console.log( this );
            console.log( this === globalThis );
            console.log( this === window );

            // 采用 "函数声明" 方式定义函数
            function hello(){
                console.log( this );
                console.log( this == globalThis ); // true
            }

            // 以非构造函数形式调用 hello 函数时，其内部的 this 就是 window
            hello();

            function Student(id,name,gender){
                this.id = id ;
                this.name = name ;
                this.gender = gender ;
                console.log( this )
            }
            // 以构造函数形式调用函数时，构造函数内的 this 表示当前新创建的实例
            let x = new Student( 2002 , '朱文杰' , '男');
            console.log( x );

        </script>

    </head>
    <body>
    </body>
</html>